From 786ad1ffaac5f4b9e22025a386be81376a99caf1 Mon Sep 17 00:00:00 2001 From: "kfraser@localhost.localdomain" Date: Wed, 7 Mar 2007 09:43:36 +0000 Subject: [PATCH] A correct fix for page_alloc crash when Xen heap empty. Signed-off-by: Keir Fraser --- xen/common/page_alloc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c index f4159373da..03c9693fa5 100644 --- a/xen/common/page_alloc.c +++ b/xen/common/page_alloc.c @@ -342,7 +342,8 @@ static struct page_info *alloc_heap_pages( unsigned int zone_lo, unsigned zone_hi, unsigned int cpu, unsigned int order) { - int i, j, zone, node = cpu_to_node(cpu), num_nodes = num_online_nodes(); + unsigned int i, j, zone; + unsigned int node = cpu_to_node(cpu), num_nodes = num_online_nodes(); unsigned long request = 1UL << order; struct page_info *pg; @@ -362,7 +363,7 @@ static struct page_info *alloc_heap_pages( * needless computation on fast-path */ for ( i = 0; i < num_nodes; i++ ) { - for ( zone = zone_hi; zone >= zone_lo; --zone ) + for ( zone = zone_hi; zone-- > zone_lo; ) { /* check if target node can support the allocation */ if ( avail[node] && (avail[node][zone] >= request) ) -- 2.30.2